package com.atguigu.gmall.realtime.util;

import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 *
 * @author Archie
 * @date 2021-10-26 11:55
 * @description 线程池工具类
 */
public class ThreadPoolUtil {

	public static ThreadPoolExecutor getThreadPool() {
		return new ThreadPoolExecutor(
			100, // 核心线程数
			300, // 最大线程数
			30, // 空闲线程存活时间
				TimeUnit.SECONDS, // 时间单位
				new LinkedBlockingDeque<>(50) // 任务执行前保存任务的队列。这个队列将只保存由execute方法提交的Runnable任务
		);
	}

}
